/*
 * SoftwareSAR - 1.0
 */
package br.com.cpqd.ssar.utilitarias;

import java.awt.Color;

/**
 * Classe que Encapsula Fontes Eletromagneticas inseridas na cena de simulacao
 * @author Carlos Henrique da Silva Santos
 * @version 1.0
 */
public class FonteEletromagneticaSimulacao {

    /*
     * Determina o ID da fonte eletromagnética
     */
    private int idFonte;

    /*
     * Define o nome da fonte inserida na simulacao
     */
    private String nome;
    
    /*
     * Determina o ID do tipo da Fonte Elemtromagnética Inserida pelo Usuário(FonteEletromagnetica)
     */
    private int idTypeFonte;
    /*
     * Determina as coordenadas da fonte na cena de simulacao
     */
    private float[] coordenadas;
    
    /*
     * Armazena a cor do tipo de fonte eletromagnetica selecionada
     */
    
    private Color cor;

    /**
     * Método Construtor
     */
    public FonteEletromagneticaSimulacao() {
        coordenadas = new float[3];
    }
   
    /*
     * Atribui o nome da fonte
     */
    public void setNome(String nome){
        this.nome = nome;
    }
                
    /**
     * Especifica o ID da Fonte na Cena
     * @param id int
     */
    public void setIdFonte(int id) {
        this.idFonte = id;
    }

    /**
     * Retorna o ID da Fonte na Cena
     * @return int
     */
    public int getIdFonte() {
        return this.idFonte;
    }

    /**
     * Especifica o ID do Tipo da Fonte selecionada
     * @param id int
     */
    public void setIdType(int id) {
        this.idTypeFonte = id;
    }

    /**
     * Retorna o ID da do Tipo daFonte na Cena
     * @return int
     */
    public int getIdType() {
        return this.idTypeFonte;
    }

    /**
     * Especifica a coordenada x onde está a fonte
     * @param x float
     */
    public void setX(float x) {
        this.coordenadas[0] = x;
    }

    /**
     * Retorna a coordenada x da fonte
     * @return float
     */
    public float getX() {
        return this.coordenadas[0];
    }

    /**
     * Especifica a coordenada y onde está a fonte
     * @param y float
     */
    public void setY(float y) {
        this.coordenadas[1] = y;
    }

    /**
     * Retorna a coordenada y da fonte
     * @return float
     */
    public float getY() {
        return this.coordenadas[1];
    }

    /**
     * Especifica a coordenada z de onde está a fonte
     * @param z float
     */
    public void setZ(float z) {
        this.coordenadas[2] = z;
    }

    /**
     * Retorna o ID da do Tipo daFonte na Cena
     * @return float
     */
    public float getZ() {
        return this.coordenadas[2];
    }
    /**
     * Nome do objeto para aparecer na lista
     * @return String
     */
    
        /**
     * Especifica a cor da fonte
     * @param cor Color
     */
    public void setCor(Color cor){
        this.cor  = cor;
    }
    
    /**
     * Retorna a cor armazenada para a fonte
     * @return cor Color
     */
    public Color getCor(){
        return this.cor;
    }
    
    /**
     * Nome do objeto para aparecer na lista
     * @return String
     */
    @Override
    public String toString() {
        return this.nome;
    }
}
